<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>OpenMesh: OpenMesh::LoopSchemeMaskT&lt; T_, cache_size_ &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="logo_align.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="rwth_vci_rgb.jpg"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">OpenMesh
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('a01973.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="a01970.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">OpenMesh::LoopSchemeMaskT&lt; T_, cache_size_ &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>implements cache for the weights of the original Loop scheme supported:  
 <a href="a01973.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="a00146_source.html">OpenMesh/Core/Geometry/LoopSchemeMaskT.hh</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for OpenMesh::LoopSchemeMaskT&lt; T_, cache_size_ &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="a01971.png" border="0" usemap="#OpenMesh_1_1LoopSchemeMaskT_3_01T___00_01cache__size___01_4_coll__map" alt="Collaboration graph"/></div>
<map name="OpenMesh_1_1LoopSchemeMaskT_3_01T___00_01cache__size___01_4_coll__map" id="OpenMesh_1_1LoopSchemeMaskT_3_01T___00_01cache__size___01_4_coll__map">
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a285ea39cbde7d5cdc5700c77d3e513a3"><td class="memItemLeft" align="right" valign="top"><a id="a285ea39cbde7d5cdc5700c77d3e513a3"></a>enum &#160;</td><td class="memItemRight" valign="bottom">{ <b>cache_size</b> = cache_size_
 }</td></tr>
<tr class="separator:a285ea39cbde7d5cdc5700c77d3e513a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f815ec9bb2e657f7a3f84d878f9ff5f"><td class="memItemLeft" align="right" valign="top"><a id="a0f815ec9bb2e657f7a3f84d878f9ff5f"></a>
typedef T_&#160;</td><td class="memItemRight" valign="bottom"><b>Scalar</b></td></tr>
<tr class="separator:a0f815ec9bb2e657f7a3f84d878f9ff5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a9d6eeec62ab3c116bb19f1722339378e"><td class="memItemLeft" align="right" valign="top"><a id="a9d6eeec62ab3c116bb19f1722339378e"></a>
Scalar&#160;</td><td class="memItemRight" valign="bottom"><b>proj_weight</b> (uint _valence) const</td></tr>
<tr class="separator:a9d6eeec62ab3c116bb19f1722339378e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7387c4056badf2a7e29bf2d8be69a9d"><td class="memItemLeft" align="right" valign="top"><a id="ac7387c4056badf2a7e29bf2d8be69a9d"></a>
Scalar&#160;</td><td class="memItemRight" valign="bottom"><b>limit_weight</b> (uint _valence) const</td></tr>
<tr class="separator:ac7387c4056badf2a7e29bf2d8be69a9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a888a97359e0a0c1bbc54fe763d5bb2d9"><td class="memItemLeft" align="right" valign="top"><a id="a888a97359e0a0c1bbc54fe763d5bb2d9"></a>
Scalar&#160;</td><td class="memItemRight" valign="bottom"><b>step_weight</b> (uint _valence, uint _step) const</td></tr>
<tr class="separator:a888a97359e0a0c1bbc54fe763d5bb2d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6eecbe7d80003734f8be2ec977eb58e"><td class="memItemLeft" align="right" valign="top"><a id="ac6eecbe7d80003734f8be2ec977eb58e"></a>
Scalar&#160;</td><td class="memItemRight" valign="bottom"><b>tang0_weight</b> (uint _valence, uint _ver_id) const</td></tr>
<tr class="separator:ac6eecbe7d80003734f8be2ec977eb58e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d161c35e99ad03b4ff83c04a2c03cb5"><td class="memItemLeft" align="right" valign="top"><a id="a5d161c35e99ad03b4ff83c04a2c03cb5"></a>
Scalar&#160;</td><td class="memItemRight" valign="bottom"><b>tang1_weight</b> (uint _valence, uint _ver_id) const</td></tr>
<tr class="separator:a5d161c35e99ad03b4ff83c04a2c03cb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a760eb62fd2163ca43375f6ef68719c98"><td class="memItemLeft" align="right" valign="top"><a id="a760eb62fd2163ca43375f6ef68719c98"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>dump</b> (uint _max_valency=cache_size - 1) const</td></tr>
<tr class="separator:a760eb62fd2163ca43375f6ef68719c98"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a10b947070422ff2faff866ec549ea16f"><td class="memItemLeft" align="right" valign="top"><a id="a10b947070422ff2faff866ec549ea16f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>cache_weights</b> ()</td></tr>
<tr class="separator:a10b947070422ff2faff866ec549ea16f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
Static Protected Member Functions</h2></td></tr>
<tr class="memitem:a197b41d65d2d79b476357146bb457921"><td class="memItemLeft" align="right" valign="top"><a id="a197b41d65d2d79b476357146bb457921"></a>
static Scalar&#160;</td><td class="memItemRight" valign="bottom"><b>compute_proj_weight</b> (uint _valence)</td></tr>
<tr class="separator:a197b41d65d2d79b476357146bb457921"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45fbfb0f3843c64a7b227f4cd34919fa"><td class="memItemLeft" align="right" valign="top"><a id="a45fbfb0f3843c64a7b227f4cd34919fa"></a>
static Scalar&#160;</td><td class="memItemRight" valign="bottom"><b>compute_limit_weight</b> (uint _valence)</td></tr>
<tr class="separator:a45fbfb0f3843c64a7b227f4cd34919fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2c973f5129e4051fb46bea6ecbf9a4d"><td class="memItemLeft" align="right" valign="top"><a id="ae2c973f5129e4051fb46bea6ecbf9a4d"></a>
static Scalar&#160;</td><td class="memItemRight" valign="bottom"><b>compute_step_weight</b> (uint _valence)</td></tr>
<tr class="separator:ae2c973f5129e4051fb46bea6ecbf9a4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ca6cbf8744e8c0910dfbbb8dbcb6655"><td class="memItemLeft" align="right" valign="top"><a id="a0ca6cbf8744e8c0910dfbbb8dbcb6655"></a>
static Scalar&#160;</td><td class="memItemRight" valign="bottom"><b>compute_tang0_weight</b> (uint _valence, uint _ver_id)</td></tr>
<tr class="separator:a0ca6cbf8744e8c0910dfbbb8dbcb6655"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a051e64db92d06bd72490b63f193fedde"><td class="memItemLeft" align="right" valign="top"><a id="a051e64db92d06bd72490b63f193fedde"></a>
static Scalar&#160;</td><td class="memItemRight" valign="bottom"><b>compute_tang1_weight</b> (uint _valence, uint _ver_id)</td></tr>
<tr class="separator:a051e64db92d06bd72490b63f193fedde"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a201247c73dbc940b06adfbf6b6661af3"><td class="memItemLeft" align="right" valign="top"><a id="a201247c73dbc940b06adfbf6b6661af3"></a>
Scalar&#160;</td><td class="memItemRight" valign="bottom"><b>proj_weights_</b> [cache_size]</td></tr>
<tr class="separator:a201247c73dbc940b06adfbf6b6661af3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fc9781741937caeb34fac4abf252e05"><td class="memItemLeft" align="right" valign="top"><a id="a8fc9781741937caeb34fac4abf252e05"></a>
Scalar&#160;</td><td class="memItemRight" valign="bottom"><b>limit_weights_</b> [cache_size]</td></tr>
<tr class="separator:a8fc9781741937caeb34fac4abf252e05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad3108336bda6bc7a6a70b53cca3a43a"><td class="memItemLeft" align="right" valign="top"><a id="aad3108336bda6bc7a6a70b53cca3a43a"></a>
Scalar&#160;</td><td class="memItemRight" valign="bottom"><b>step_weights_</b> [cache_size]</td></tr>
<tr class="separator:aad3108336bda6bc7a6a70b53cca3a43a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33077b36397d36ada75a5bbdbb2479f2"><td class="memItemLeft" align="right" valign="top"><a id="a33077b36397d36ada75a5bbdbb2479f2"></a>
std::vector&lt; Scalar &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>tang0_weights_</b> [cache_size]</td></tr>
<tr class="separator:a33077b36397d36ada75a5bbdbb2479f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f3a55d7d78f363622f60b1b31ceba08"><td class="memItemLeft" align="right" valign="top"><a id="a9f3a55d7d78f363622f60b1b31ceba08"></a>
std::vector&lt; Scalar &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>tang1_weights_</b> [cache_size]</td></tr>
<tr class="separator:a9f3a55d7d78f363622f60b1b31ceba08"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class T_, unsigned int cache_size_ = 100&gt;<br />
class OpenMesh::LoopSchemeMaskT&lt; T_, cache_size_ &gt;</h3>

<p>implements cache for the weights of the original Loop scheme supported: </p>
<ul>
<li>vertex projection rule on the next level</li>
<li>vertex projection rule on the limit surface</li>
<li>vertex projection rule on the k-th (level) step (Barthe, Kobbelt'2003)</li>
<li>vertex tangents on the limit surface </li>
</ul>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>OpenMesh/Core/Geometry/<a class="el" href="a00146_source.html">LoopSchemeMaskT.hh</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<hr>
<address>
<small>
<a href="http://www.rwth-graphics.de" style="text-decoration:none;">
</a>
Project <b>OpenMesh</b>, 
&copy;&nbsp; Computer Graphics Group, RWTH Aachen.
Documentation generated using 
<a class="el" href="http://www.doxygen.org/index.html">
<b>doxygen</b>
</a>.
</small>
</address>
</body>
</html>
